﻿#region Summary

// 
// Owner : JackieHan 
// 
// Solution : Pharyngitis 
// 
// Project : TTrip.Pharyngitis.NHibernate
// 
// File : IModuleMapping.cs
// 
// CopyRight : Copyright © 2010-2011 Skomart Corporation, All Rights Reserved 
// 
// Summary : 配置接口
// 
// History : 
//			2012-03-21 11:13:57	    Create 
// 

#endregion

#region Using

using System;
using System.Collections.Generic;
using ConfOrm;
using ConfOrm.NH;

#endregion

namespace Jackie.Utility.NHibernate
{
    ///<summary>
    ///配置接口
    ///</summary>
    public interface IModuleMapping
    {
        /// <summary>
        /// 添加  Orm 定义
        /// </summary>
        /// <param name="orm">Orm</param>
        void DomainDefinition(ObjectRelationalMapper orm);

        /// <summary>
        /// 注册映射模式
        /// </summary>
        /// <param name="mapper">the mapper</param>
        /// <param name="domainInspector">the domain inspector</param>
        void RegisterPatterns(Mapper mapper, IDomainInspector domainInspector);

        /// <summary>
        /// 自定义映射
        /// </summary>
        /// <param name="mapper"></param>
        void Customize(Mapper mapper);

        /// <summary>
        /// 获取实体类型
        /// </summary>
        /// <returns></returns>
        IEnumerable<Type> GetEntities();
    }
}